[基本操作]Amazon SNSでメールを送信する
こんにちは。池田です。Amazon Echo日本版の招待メールはまだ届いていませんが、ウキウキしながら置き場所や使う場面を妄想しています。
はじめに
本記事は2011年07月19日に公開された記事を現在(2017年11月)のUIで再現したものです。まだAmazon SNSをご利用されたことがない方を対象としております。予めご了承ください。
Amazon SNS(Simple Notification Service)とは
Amazon Simple Notification Service (SNS) はメッセージ通知のインフラを提供するフルマネージド型サービスです。 ざっくり「何らかの通知を送信したい人(あるいはシステム)から、受け取りたい/受け取ってほしい人(あるいはモノ)へ通知を送る仕組み」とイメージするとわかりやすいのではないでしょうか。
通知の種類
Amazon SNSでは以下の形式での通知に対応しています。6年間で対応形式が増えていますね。
- HTTP
- HTTPS
- Email-JSON
- Amazon SQS
- Application
- AWS Lambda
- SMS
作業手順
トピックの作成
今回はひとつの宛先にメールを送信することで基本的な操作方法とその動作を体験していきます。早速、メールで通知を送るためのトピックを作成してみましょう。
※Amazon SNSの管理コンソールは現時点(2017年11月)で日本語化されておりませんが、それほど迷うことはありませんでした。
1: AWS ManagementConsoleを開き、サービス一覧の中から「Simple Notification Service」を選択します。 初めてこのページを開いた場合は「Get started」のボタンが表示されますのでクリックして進みます。
2: SNS dashboardにある「Create topic」を選択します。
3: ポップアップウインドウが表示されますので「Topic name」と「Display name」を入力し「Create topic」をクリックします。 今回は下の画像のようにしました。 トピックの作成が完了すると、ウインドウ内にリスト表示されます。以上でトピックの作成は終わりです。
Subscriptionの作成
次に通知の宛先や方法を定義するサブスクリプションを作成します。
1: トピックの作成が正常に終了すると、下のような画面になりますので「Create subscription」をクリックします。
2: 今回はメールでの通知を行いますので「Protocol」は「Email」を選択します。
3: 通知先となる「Endpoint」にはメールアドレスを入力し、内容が正しければ右下の「Create subscription」をクリックします。
4: 通知先に指定したメールアドレス宛に確認のメールが届きます。内容を確認してメール本文にある「Confirm subscription」をクリックします。 正常に処理されると下記のようなページが表示されます。
5: ダッシュボードに戻ると、サブスクリプションを作成した直後のまま「Subscription ID」の欄が「PendingConfirmation」となっていますので右上のアイコンをクリックして最新の情報に更新します。 この更新アイコンですが、操作に慣れないうちは比較的見落としやすい印象(自分対象自分調べ)があります。他のAWSリソースのダッシュボードでも共通ですので何か操作を行う直前に、一度更新するよう習慣化しておくと誤操作や誤認識を防止できるように感じました(自分向けメモ)。 更新すると「PendingConfirmation」だったものが以下のように表示されます。 これでメッセージ通知の準備が整いました。
通知の作成と送信
1: 「Publish to topic」をクリックし通知するメッセージを作成します。 「Subject」欄にはメールの件名を「Message」欄にはメールの本文を入力し、内容に問題がなければ右下の「Publish message」をクリックして送信します。 受信したメールは以下のようになります。
まとめ
今回は単純にメールを1通送信するだけでしたので、普通にメールを送信するよりも大変な手順になってしまいました。 ですが、他の通知方法やサービスとうまく組み合わせることで、通知対象が多い場面での自動一斉通知といった処理も可能となります。 6年間操作方法に大きな変更もなく提供され続けているということは、シンプルなだけに利用シーンの多い有用なサービスなのだろうと感じました。